/*
 ***************************************************************************
 * 建立日期	： 2014-04-15
 * 版权声明	： 本代码版权归圣笛科技所有，禁止任何未授权的传播和使用
 * 作者		： yanjiaming@sainti.com
 * 模块		：
 * 描述		： 请求接口封装 DAO
 * -------------------------------------------------------------------------
 * 修改历史
 * 序号			日期					修改人				修改原因
 * <#序号#>        <#日期#>                <#修改人#>              <#修改原因#>
 *
 ***************************************************************************
 */

#import <Foundation/Foundation.h>
#import "OrderModel.h"
@interface SendRequest : NSObject
/*
 方法说明:
 用户登录
 
 参数说明:
 空
 
 返回结果:
 NSDictionary *result；block的返回结果，这个可以自定义，可以是数组，字典，也可以是一个实例类，建议实例类，这样用起来比较方便，代码易读。
 */
+ (NSURLSessionDataTask *)loginWithTel:(NSString *)tel smsCode:(NSString *)smsCode result:(void (^)(NSDictionary *result, NSError *error))block;

/** 发送验证码 */
+ (NSURLSessionDataTask *)sendVerificationCodeWithTel:(NSString *)tel  type:(NSString *)type result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取行业信息 */
+ (NSURLSessionDataTask *)getIndustriesWithResult:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取行业信息 */
+ (NSURLSessionDataTask *)getIndustriesWithIndustryId:(NSString *)industryId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取地区列表 */
+ (NSURLSessionDataTask *)getRegionWithResult:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询职位列表 */
+ (NSURLSessionDataTask *)getJobListWithIndustryId:(NSString *)industryId andJobPid:(NSString *)jobPid result:(void (^)(NSDictionary *result, NSError *error))block;

/** 关键字检索企业信息 */
+ (NSURLSessionDataTask *)getCompanyInfoWithKey:(NSString *)key andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 注册用户身份信息 */
+ (NSURLSessionDataTask *)registerIdentityInfomationWithCandidateParam:(NSDictionary *)param result:(void (^)(NSDictionary *result, NSError *error))block;

/** 谁能帮我 */
+ (NSURLSessionDataTask *)getMatchingIncumbentsWithPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 关键字检索职位信息 */
+ (NSURLSessionDataTask *)searchPositionInfoByKey:(NSString *)key andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 关键字检索在职者信息 */
+ (NSURLSessionDataTask *)searchIncumbentInfoByKey:(NSString *)key andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 关键字检索问答信息 */
+ (NSURLSessionDataTask *)searchQuestionInfoByKey:(NSString *)key andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 关键字检索在职者解密信息 */
+ (NSURLSessionDataTask *)searchIncumbentDecryptInfoByKey:(NSString *)key andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 关键字综合搜索 */
+ (NSURLSessionDataTask *)searchComprehensiveInfoByKey:(NSString *)key andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询意向职位列表 */
+ (NSURLSessionDataTask *)getIntentionalPositionWithResult:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取求职者目标公司及状态 */
+ (NSURLSessionDataTask *)getCandidateTargetCompanyWithResult:(void (^)(NSDictionary *result, NSError *error))block;

/** 更新求职者目标公司及状态 */
+ (NSURLSessionDataTask *)updateCandidateTargetCompanyWithCompany:(NSString *)companyId andState:(NSString *)state result:(void (^)(NSDictionary *result, NSError *error))block;

/** 根据意向职位ID查询职位列表 */
+ (NSURLSessionDataTask *)getPostionListByIntentionalId:(NSString *)intentionId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 新增/更新意向职位信息 */
+ (NSURLSessionDataTask *)updateIntentionalPositionWithIntentionalId:(NSString *)intentionalId andJobId:(NSString *)jobId andRegion:(NSString *)regionId andMinSalary:(NSString *)minSalary andMaxSalary:(NSString *)maxSalary andIndustries:(NSArray *)industries result:(void (^)(NSDictionary *result, NSError *error))block;

/** 删除意向职位信息 */
+ (NSURLSessionDataTask *)deleteIntentionalPositionWithIntentionalId:(NSString *)intentionalId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询匹配解密服务(首页) */
+ (NSURLSessionDataTask *)getIncumbentDecryptOfUserRelevanceWithPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 根据职位ID查询职位信息 */
+ (NSURLSessionDataTask *)getPostionInfoByPositionId:(NSString *)positionId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 根据企业ID查询企业信息 */
+ (NSURLSessionDataTask *)getCompanyInfoByCompanyId:(NSString *)companyId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询企业同事解密服务 */
+ (NSURLSessionDataTask *)getIncumbentDecryptByCompanyId:(NSString *)companyId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取企业在职员工列表 */
+ (NSURLSessionDataTask *)getCompanyIncumbentListByCompanyId:(NSString *)companyId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 根据企业ID查询在职者回答的问题 */
+ (NSURLSessionDataTask *)getQuestiosOfCompanyByCompanyId:(NSString *)companyId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 投诉(问答/解密) */
+ (NSURLSessionDataTask *)complainWithServiceId:(NSString *)serviceId andServiceType:(NSString *)serviceType andReason:(NSString *)reason andRemark:(NSString *)remark result:(void (^)(NSDictionary *result, NSError *error))block;

/** 收藏 */
+ (NSURLSessionDataTask *)collectWithRelatedId:(NSString *)relatedId andType:(NSString *)type result:(void (^)(NSDictionary *result, NSError *error))block;

/** 取消收藏 */
+ (NSURLSessionDataTask *)cancelCollectWithRelatedId:(NSString *)relatedId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取在职者问答服务列表 */
+ (NSURLSessionDataTask *)getIncumbentQuestionsByUserId:(NSString *)userId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 发布问答(指定/公共) */
+ (NSURLSessionDataTask *)releaseQuestionWithRelatedId:(NSString *)relatedId andQuestionType:(NSString *)questionType andContent:(NSString *)content andBonus:(NSString *)bonus andIsAnonymous:(NSString *)isAnonymous andCompanyId:(NSString *)companyId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询企业职位列表 */
+ (NSURLSessionDataTask *)getPostionListByCompanyId:(NSString *)companyId andPageNo:(NSString *)pageNo andJobId:(NSString *)jobId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询企业职位评价列表 */
+ (NSURLSessionDataTask *)getPostionInterviewReviewByPositionId:(NSString *)positionId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询用户关联问答列表信息(首页问答匹配) */
+ (NSURLSessionDataTask *)getQuestiosOfUserRelevanceWithPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询在职者解密服务详情 */
+ (NSURLSessionDataTask *)getIncumbentDecryptDetailsByDecryptId:(NSString *)decryptId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询在职者保过服务详情 */
+ (NSURLSessionDataTask *)getIncumbentAssurePassDetailsByAssurePassId:(NSString *)assurePassId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询服务(解密/保过)评论 */
+ (NSURLSessionDataTask *)getServiceCommentsByServiceId:(NSString *)serviceId andServiceType:(NSString *)serviceType andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询在职者解密服务(他人/自己查看启用状态区分) */
+ (NSURLSessionDataTask *)getIncumbentDecryptByUserId:(NSString *)userId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询在职者保过服务 */
+ (NSURLSessionDataTask *)getIncumbentAssurePassByUserId:(NSString *)userId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询在职者回答的问答信息 */
+ (NSURLSessionDataTask *)getQuestiosOfIncumbentRespondentByUserId:(NSString *)userId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取用户基础信息 */
+ (NSURLSessionDataTask *)getIncumbentInfoByUserId:(NSString *)userId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 预约解密 */
+ (NSURLSessionDataTask *)orderDecryptWithIncumbentDecryptId:(NSString *)incumbentDecryptId andQuestion:(NSString *)question andPersonalSituation:(NSString *)personalSituation result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询职位(多条件筛选) */
+ (NSURLSessionDataTask *)getPostionListByParam:(NSMutableDictionary *)param result:(void (^)(NSDictionary *result, NSError *error))block;

/** 预约保过 */
+ (NSURLSessionDataTask *)orderAssurePassWithParam:(NSMutableDictionary *)param result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询在职者服务(未下单解密/保过)评论 */
+ (NSURLSessionDataTask *)getIncumbentServiceCommentsByServiceId:(NSString *)serviceId andServiceType:(NSString *)serviceType andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 提交企业评分 */
+ (NSURLSessionDataTask *)submitCompanyScoreWithParam:(NSMutableDictionary *)param result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取企业在职者评论信息 */
+ (NSURLSessionDataTask *)getCompanyIncumbentCommentsByCompanyId:(NSString *)companyId andPageNo:(NSString *)pageNo result:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询企业职位类型(一级) */
+ (NSURLSessionDataTask *)getCompanyPositionJobTypeCompanyId:(NSString *)companyId result:(void (^)(NSDictionary *result, NSError *error))block;

/** 通过地区名字获取地区代码 */
+ (NSURLSessionDataTask *)getCityCodeByCityCodeByRegionName:(NSString *)regionName result:(void (^)(NSDictionary *result, NSError *error))block;

/** 通过关键字获取地区列表 */
+ (NSURLSessionDataTask *)getRegionByKey:(NSString *)key result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取用户芝麻分 */
+ (NSURLSessionDataTask *)getZmScoreByToken:(NSString *)appAuthToken result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取七牛上传凭证 */
+ (NSURLSessionDataTask *)getQiuNiuUpTokenWithResult:(void (^)(NSDictionary *result, NSError *error))block;

/** 查询在职者认证信 */
+ (NSURLSessionDataTask *)getIncumbentAuthenticationInfoWithStatus:(NSString *)status result:(void (^)(NSDictionary *result, NSError *error))block;

/** 新增/更新在职者认证信息 */
+ (NSURLSessionDataTask *)submitIncumbentAuthenticationInfoWithParam:(NSMutableDictionary *)param result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取用户收藏信息 */
+ (NSURLSessionDataTask *)getUserCollectedWithType:(NSString *)type result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取用户认证状态(在职) */
+ (NSURLSessionDataTask *)getIncumbentStateOfAuthenticationWithResult:(void (^)(NSDictionary *result, NSError *error))block;

/** 举报 */
+ (NSURLSessionDataTask *)reportWithRelatedId:(NSString *)relatedId andRelatedType:(NSString *)relatedType andReportType:(NSString *)reportType andRemark:(NSString *)remark result:(void (^)(NSDictionary *result, NSError *error))block;

/** 通过地区名字获取地区代码 */
+ (NSURLSessionDataTask *)getCityCodeByCityCodeWithRegionName:(NSString *)regionName result:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取广告列表 */
+ (NSURLSessionDataTask *)getAdvertisementsWithresult:(void (^)(NSDictionary *result, NSError *error))block;

/** 获取广告详情 */
+ (NSURLSessionDataTask *)getAdvertisementDetailsWithAdvertisementId:(NSString *)advertisementId result:(void (^)(NSDictionary *result, NSError *error))block;

/**
 接口编号：
 请求名称：获取学历信息
 请求类名：
 
 system/getEducationList
 
 说明：aes加密
 
 请求参数说明：
 序号    参数名    说明    必填    类型    示例    详情
 1  appUserId    用户ID    是    [long]
 2    token    单点凭证    是    [string]
 */
+ (NSURLSessionDataTask *)getEducationList_With_Rresult:(void (^)(NSDictionary *result, NSError *error))block;
/*
 方法说明:
 投递简历
 
 参数说明:
 1    appUserId    用户ID    是    [long]
 2    token    单点凭证    是    [string]
 3    userInfoParams    用户基础信息    是    [object]
 4     resumeId    简历ID    是    [long]
 5     headImg    头像地址    是    [string]
 6     name    姓名    是    [string]
 7     email    邮箱    是    [string]
 8     sex    性别 1:男 2:女 0:未知    是    [string]
 9     birthYear    出生年份    是    [int]
 10     birthMonth    出生月份    是    [int]
 11     maxEducation    最高学历    是    [string]
 12     workLife    工作年限    是    [double]
 13     mobile    联系电话    是    [string]
 14     location    所在地    是    [string]
 15     inAWord    一句话描述    是    [string]
 16     expectedWork    期望工作岗位    是    [string]
 17     expectedModel    期待工作模式    是    [string]
 18     expectedWorkplace    期待工作地点    是    [string]
 19     expectedSalary    期待月薪    是    [string]
 20     selfDescription    自我描述    是    [string]
 21    workExperienceParams    工作经历列表参数    是    [array]
 22     company    企业名称    是    [string]
 23     position    职位名称    是    [string]
 24     inductionTime    入职时间    是    [datetime]
 25     departureTime    离职时间    是    [datetime]
 26     jobContent    工作内容    是    [string]
 27    eduExperienceParams    教育经历列表参数    是    [array]
 28     school    学校    是    [string]
 29     major    专业    是    [string]
 30     graduation    毕业年份    是    [int]
 31     education    学历    是    [string]
 32    valuesParams    价值观标签列表参数    是    [array]
 33     labelName    标签名称    是    [string]
 34     labelCode    标签代码    是    [string]
 35    projectExperienceParams    项目经验列表参数    是    [array]
 36     projectName    项目名称    是    [string]
 37     duty    项目职责    是    [string]
 38     startTime    开始时间    是    [datetime]
 39     endTime    结束时间    是    [datetime]
 40     projectDescribe    项目描述    是    [string]
 41    skillParams    个人技能列表参数    是    [array]
 42     skillName    技能名称    是    [string]
 43     skillProficiency    技能熟练度0:一般,1:熟练,2:精通    是    [int]
 
 返回结果:
 NSDictionary *result；block的返回结果，这个可以自定义，可以是数组，字典，也可以是一个实例类，建议实例类，这样用起来比较方便，代码易读。
 */
+ (NSURLSessionDataTask *)updateResumeByParamWithUserInfoParams:(NSString *)userInfoParams
                                           workExperienceParams:(NSString *)workExperienceParams
                                            eduExperienceParams:(NSString *)eduExperienceParams
                                                   valuesParams:(NSString *)valuesParams
                                        projectExperienceParams:(NSString *)projectExperienceParams
                                                    skillParams:(NSString *)skillParams
                                                         result:(void (^)(NSDictionary *result, NSError *error))block;
/*
 方法说明:
 获取专业信息
 
 参数说明:
 1    level    级别 最高3级,1:学科门类,2:专业类别,3:专业    是    [int]
 2    parentMajorCode    父级专业代码    是    [string]
 
 返回结果:
 NSDictionary *result；block的返回结果，这个可以自定义，可以是数组，字典，也可以是一个实例类，建议实例类，这样用起来比较方便，代码易读。
 */
+ (NSURLSessionDataTask *)getMajorListByParamWithLevel:(NSString *)level
                                       parentMajorCode:(NSString *)parentMajorCode
                                                result:(void (^)(NSDictionary *result, NSError *error))block;
/*
 方法说明:
 投递简历
 
 参数说明:
 1    appUserId    登录用户ID    是    [long]
 2    token    单点凭证    是    [string]
 3    userId    查询用户ID    是    [long]
 
 返回结果:
 NSDictionary *result；block的返回结果，这个可以自定义，可以是数组，字典，也可以是一个实例类，建议实例类，这样用起来比较方便，代码易读。
 */
+ (NSURLSessionDataTask *)getResumeByUserIdWithResult:(void (^)(NSDictionary *result, NSError *error))block;
/*
 方法说明:
 获取企业文化列表<验证凭证>
 
 参数说明:
 1    appUserId    用户ID    是    [long]
 2    token    单点凭证    是    [string]
 
 返回结果:
 NSDictionary *result；block的返回结果，这个可以自定义，可以是数组，字典，也可以是一个实例类，建议实例类，这样用起来比较方便，代码易读。
 */
+ (NSURLSessionDataTask *)getComPanyCultureWithResult:(void (^)(NSDictionary *result, NSError *error))block;
@end
